package net.hn.hnms.biz.training.service;

import com.baomidou.mybatisplus.extension.service.IService;
import net.hn.hnms.biz.training.domain.PersonnelCertificate;
import net.hn.hnms.biz.training.request.PersonnelCertificateReq;
import net.hn.hnms.biz.training.vo.PersonCountVO;
import net.hn.hnms.biz.training.vo.PersonnelCertificateVo;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface PersonnelCertificateService extends IService<PersonnelCertificate> {

    void importOtherResult(MultipartFile file);

    void importSpecialOperationsResult(MultipartFile file);


    void downloadpordManageUser(HttpServletResponse response);

    void downloadbarmasterUser(HttpServletResponse response);
    void downloadTrinidadAndTobago(HttpServletResponse response);
    void downloadotherStaffsUser(HttpServletResponse response);

    void importResult(MultipartFile file,String type);

    List<PersonCountVO> PersonCount();

    void downloadCount(HttpServletResponse response);


    /**
     *
     * @param planSale
     * @param pageQuery
     * 分页查询销售计划列表
     */
    ResponsePage<PersonnelCertificateVo> selectPageList(PersonnelCertificateReq planSale, PageQuery pageQuery);


    /**
     *
     * @param planSale
     * 查询销售计划列表
     */
    List<PersonnelCertificateVo> selectList(PersonnelCertificateReq planSale);

    /**
     *
     * @param planSale
     * 新增销售计划
     */
    boolean insert(PersonnelCertificateReq planSale);

    /**
     *
     * @param idList
     * 批量删除
     */
    void deleteBatch(List<String> idList);


    /**
     *
     * @param planSale
     * 单个更新 根据id主键 更新销售计划详情
     */
    void updateById(PersonnelCertificateReq planSale);


    /**
     *
     * @param id
     * 通过主键id 查询详情
     */
    PersonnelCertificateVo selectDetailById(String id);


}
